package com.tarena.lbs.basic.web.controller;

import com.tarena.lbs.base.protocol.exception.BusinessException;
import com.tarena.lbs.base.protocol.model.Result;
import com.tarena.lbs.base.protocol.pager.PageResult;
import com.tarena.lbs.basic.web.service.StoreService;
import com.tarena.lbs.pojo.basic.param.StoreParam;
import com.tarena.lbs.pojo.basic.param.UserLocationParam;
import com.tarena.lbs.pojo.basic.query.AreaStoreQuery;
import com.tarena.lbs.pojo.basic.query.StoreQuery;
import com.tarena.lbs.pojo.basic.vo.StoreVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class StoreController {
    @Autowired
    private StoreService storeService;
    @PostMapping("/admin/basic/store/getAll")
    public Result<PageResult<StoreVO>> storePages(@RequestBody StoreQuery storeQuery)
        throws BusinessException{
        PageResult<StoreVO> voPages=storeService.storePages(storeQuery);
        return new Result<>(voPages);
    }
    @PostMapping("/admin/basic/store/add")
    public Result<Void> storeSave(@RequestBody StoreParam param)
        throws BusinessException{
        storeService.storeSave(param);
        return Result.success();
    }
    //利用区域id 省级 市级 区县级
    @PostMapping("/admin/basic/store/getStoreByCity")
    public Result<PageResult<StoreVO>> getCityStores(@RequestBody AreaStoreQuery areaStoreQuery)
        throws BusinessException{
        PageResult<StoreVO> voPages=storeService.getCityStores(areaStoreQuery);
        return new Result<>(voPages);
    }

    //根据定位查询店铺 发送消息
    @PostMapping("/basic/store/location")
    public Result<Void> locationReport(@RequestBody UserLocationParam param)
        throws BusinessException{
        storeService.locationReport(param);
        return Result.success();
    }
}




















































